//
// Created by wll on 2022/2/8.
//

#ifndef XYZ_COMMANDLINEPARAMETERS_H
#define XYZ_COMMANDLINEPARAMETERS_H

#include <string>
#include <map>
#include <vector>

class CommandLineParameters
{
public:
    CommandLineParameters(int argc, char** argv);
    CommandLineParameters(const std::string& command_line);
    std::string GetOption(const std::string& key);
    std::string GetParameter(int i);
    std::vector<std::string>& GetParameters();
    std::string ToString();
private:
    std::map<std::string, std::string> options;
    std::vector<std::string> args;
};

#endif //XYZ_COMMANDLINEPARAMETERS_H
